#include <SFML/Graphics.hpp>
#include "ContentPipeline.h"
#include "InputController.h"
using namespace sf;

class Game
{
private:
	bool m_isRunning;
	int m_rezX, m_rezY;
	sf::String m_title;
	int m_FPS;

	InputController *m_InputControl;
	RenderWindow *m_Window;
	Color m_BackBufferColour;

protected:
	bool Init(void);
	bool Render(RenderWindow&, ContentPipeline&, Time&);
	bool Update(Time&);

public:
	ContentPipeline *Content;

	Game(int windowX, int windowY, String winTitle);
	~Game();

	void Run(void);
	void Exit();
	
	RenderWindow* GetWindow() { return m_Window; }
	int GetFPS() { return m_FPS; }
};